package com.joker.demo.admin.service;

import com.joker.demo.admin.domain.dto.JobLogQueryDTO;
import com.joker.demo.admin.domain.dto.JobDailyExecutionQueryDTO;
import com.joker.demo.admin.domain.vo.JobLogVO;
import com.joker.demo.admin.domain.vo.JobDailyExecutionVO;
import com.joker.demo.admin.domain.vo.PageResult;

/**
 * 任务日志服务接口
 *
 * @author : feixiang.li
 * @since : 2025-07-26 19:32
 */
public interface JobLogService {

    /**
     * 分页查询任务日志
     *
     * @param jobLogQueryDTO 查询参数
     * @return 分页结果
     */
    PageResult<JobLogVO> queryJobLogPage(JobLogQueryDTO jobLogQueryDTO);

    /**
     * 根据任务ID查询任务日志详情
     *
     * @param jobId 任务ID
     * @return 任务日志详情
     */
    JobLogVO getJobLogDetail(Integer jobId);

    /**
     * 手动终止任务
     *
     * @param jobId 任务ID
     * @return 是否成功
     */
    boolean stopJob(Integer jobId);

    /**
     * 查询一天内任务执行情况
     *
     * @param queryDTO 查询参数
     * @return 任务执行情况
     */
    JobDailyExecutionVO queryJobDailyExecution(JobDailyExecutionQueryDTO queryDTO);
}
